package com.yunkeji.common.enums.app;

import com.yunkeji.common.exception.AppServiceException;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;

import java.util.Arrays;
import java.util.Optional;

/**
 * 客户端渠道号
 *
 * @author yunkeji
 */
@Getter
@Slf4j
@AllArgsConstructor
public enum AppBranchEnum {
    爱洞安卓官网(101),
    爱洞安卓华为(102),
    爱洞安卓vivo(103),
    爱洞安卓oppo(104),
    爱洞安卓小米(105),
    爱洞安卓腾讯(106),
//    IOS(201),
    陌对安卓官网(301),
    陌对安卓vivo(302),
    陌对安卓oppo(303),
    陌对安卓小米(304),
    陌对安卓阿里(305),
    陌对安卓腾讯(306),
    陌对安卓荣耀(307),
    陌对安卓快手(308),
//    陌对IOS(107)
    ;
    private final Integer code;

    public static AppBranchEnum getByCode(Integer code) {
        AppBranchEnum[] values = AppBranchEnum.values();
        boolean flag = false;
        AppBranchEnum result = null;
        for (AppBranchEnum value : values) {
            log.info("======================请求头branch：{}，循环中的branch：{}======================", code, value.getCode());
            if(value.getCode().equals(code)){
                flag = true;
                result = value;
                break;
            }
        }
        if (flag) {
            return result;
        } else {
            throw AppServiceException.paramException("客户端渠道号参数异常");
        }
    }
}
